<?php
/*
Plugin Name: Sorteos Fénix Soluciones
Plugin URI: http://www.fenixsoluciones.com
Description: Gestionador de concursantes y generador de concursos. (Desarrollado para <a href="http://www.fenixsolciones.com/">Fenix Soluciones</a>).
Author: Diego Lerma
Version: 0.1
Author URI: http://diego.lermagomez.com
*/

/*  
	Copyright 2009  Diego Lerma  (email : diegolerma@gmail.com)

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/

/* 
Name: sorteo_install
Description: Crea la tabla necesaria para guardar la información y generar el sorteo
*/
add_action('activate_fenix_sorteos/sorteo.php', 'sorteo_install');
function sorteo_install()
{
//	global $wpdb;
//	$table = $wpdb->prefix."sorteo";
//	$structure = "CREATE TABLE $table ( );";
//	$wpdb->query($structure);
// Populate table
//	echo "Se creo la tabla";
}

### Preparando adminitrastración
add_action('admin_menu', 'sorteo_menu');
function sorteo_menu() {
	if (function_exists('add_menu_page')) {
//		add_menu_page(page_title, menu_title, access_level/capability, file, [function], [icon_url]);
		add_menu_page("Sorteos", "Sorteo", "Administrator", __FILE__, 'sorteo_main', plugins_url('fenix_sorteos/img/application_form.png'));
	}
//	if (function_exists('add_submenu_page')) {
//		add_submenu_page(parent, page_title, menu_title, access_level/capability, file, [function]);
		add_submenu_page(__FILE__, "Nuevo sorteo", "Crear sorteo", 1, "nuevo_sorteo.php","sorteo_main");
		add_submenu_page(__FILE__, "Listado de participantes por sorteo", "Ver participantes", 1, "participantes.php","sorteo_participantes");
		add_submenu_page(__FILE__, "Hacer sorteo", "Generar ganadores", 1, "sorteo_ganadores.php","sorteo_ganador");
//"lista_participantes.php","");//
//	}

// Add a new submenu under Options:
//add_options_page('Test Options', 'Test Options', 8, 'testoptions', 'mt_options_page');
// Add a new submenu under Manage:
//add_management_page('Test Manage', 'Test Manage', 8, 'testmanage', 'mt_manage_page');
// Add a new top-level menu (ill-advised):
//add_menu_page('Test Toplevel', 'Test Toplevel', 8, __FILE__, 'mt_toplevel_page');
// Add a submenu to the custom top-level menu:
//add_submenu_page(__FILE__, 'Test Sublevel', 'Test Sublevel', 8, 'sub-page', 'mt_sublevel_page');
// Add a second submenu to the custom top-level menu:
//add_submenu_page(__FILE__, 'Test Sublevel 2', 'Test Sublevel 2', 8, 'sub-page2', 'mt_sublevel_page2');
}


function sorteo_main() {
	global $wpdb;
?>
<div class="wrap">
	<h2>Crear nuevo sorteo</h2><?php 
	$hayMensaje = false;
	if ( strlen($_GET["axn"]) > 0 )
	{
		$titulo = $_POST["titulo"];
		$descripcion = $_POST["descripcion"];
		$reglas = $_POST["reglas"];
		$premios = $_POST["premios"];
		$afiche = $_POST["afiche"];
		$local = $_POST["local"];
		$web = $_POST["web"];
		$fc_dia = $_POST["fconcierto_dia"];
		$fc_mes = $_POST["fconcierto_mes"];
		$fc_anio = $_POST["fconcierto_anio"];
		$fi_dia = $_POST["finicio_dia"];
		$fi_mes = $_POST["finicio_mes"];
		$fi_anio = $_POST["finicio_anio"];
		$ff_dia = $_POST["ffin_dia"];
		$ff_mes = $_POST["ffin_mes"];
		$ff_anio = $_POST["ffin_anio"];

		$hayMensaje = true;
		$mensaje = "Se creo un nuevo sorteo para " . $ff_dia . "/" . $ff_mes . " de " . $premios . " para " .  $titulo;

		$sql = "INSERT INTO sorteo () VALUES()" . $codigo;
//		$wpdb->query($sql);
	}

	if ( $hayMensaje ) {?>
	<div style="background-color: rgb(255, 251, 204);" id="message" class="updated fade">
		<p><?php echo $mensaje; ?></p>
	</div>
	<?php } ?>
	
	<form action="<?php echo htmlspecialchars($_SERVER['REQUEST_URI']); ?>&axn=ok" method="post" name="nsorteo" id="nsorteo">
	<?php /* INICIO : Formulario PRIMER PASO para la generacion del sorteo */ ?>
	<p>Por favor, complete los campos solicitados para elaborar un nuevo sorteo.</p>
		<table class="form-table">
			<tbody>
				<tr class="form-field form-required">
					<th scope="row"><label for="titulo">T&iacute;tulo:</label></th>
					<td><input name="titulo" id="titulo" type="text" /></td>
				</tr>
				<tr class="form-field">
					<th scope="row"><label for="descripcion">Descripci&oacute;n:</label></th>
					<td><textarea name="descripcion" id="descripcion"></textarea></td>
				</tr>
				<tr class="form-field">
					<th scope="row"><label for="reglas">Reglas:</label></th>
					<td><textarea name="reglas" id="reglas"></textarea></td>
				</tr>
				<tr class="form-field form-required">
					<th scope="row"><label for="premios"># Premios:</label></th>
					<td><input name="premios" id="premios" type="text" size="5" style="width: 50px;" /></td>
				</tr>
				<tr class="form-field form-required">
					<th scope="row"><label for="afiche">Afiche (Nombre de archivo de afiche):</label></th>
					<td><input name="afiche" id="afiche" type="text" /></td>
				</tr>
				<tr class="form-field form-required">
					<th scope="row"><label for="local">Local:</label></th>
					<td><input name="local" id="local" type="text" /></td>
				</tr>
				<tr class="form-field form-required">
					<th scope="row"><label for="web">URL referente:</label></th>
					<td><input name="web" id="web" type="text" value="http://www.conciertosperu.com.pe" /></td>
				</tr>
				<tr class="form-field">
					<th scope="row"><label>Fecha Concierto</label></th>
					<td><label for="fconcierto_dia">D&iacute;a:</label> <select name="fconcierto_dia" id="fconcierto_dia" style="width: 80px;"><?php for ( $d = 1; $d <= 31; $d++ ) {  ?>
						<option value="<?php echo ($d < 10) ? "0" . $d : $d; ?>">&nbsp;&nbsp;<?php echo ($d < 10) ? "0" . $d : $d; ?>&nbsp;&nbsp;</option><?php } ?>
					</select>
					<label for="fconcierto_mes">Mes:</label> <select name="fconcierto_mes" id="finicio_mes" style="width: 80px;"><?php for ( $d = 1; $d <= 12; $d++ ) {  ?>
						<option value="<?php echo ($d < 10) ? "0" . $d : $d; ?>">&nbsp;&nbsp;<?php echo ($d < 10) ? "0" . $d : $d; ?>&nbsp;&nbsp;</option><?php } ?>
					</select>
					<label for="fconcierto_anio">A&ntilde;o:</label><select name="fconcierto_anio" id="fconcierto_anio" style="width: 80px;"><?php for ( $d = 2007; $d < date("Y") + 5; $d++ ) {  ?>
						<option value="<?php echo ($d < 10) ? "0" . $d : $d; ?>">&nbsp;&nbsp;<?php echo $d; ?>&nbsp;&nbsp;</option><?php } ?>
					</select></td>
				</tr>
				<tr class="form-field">
					<th scope="row"><label>Fecha Inicio Sorteo</label></th>
					<td><label for="finicio_dia">D&iacute;a:</label> <select name="finicio_dia" id="finicio_dia" style="width: 80px;"><?php for ( $d = 1; $d <= 31; $d++ ) {  ?>
						<option value="<?php echo ($d < 10) ? "0" . $d : $d; ?>">&nbsp;&nbsp;<?php echo ($d < 10) ? "0" . $d : $d; ?>&nbsp;&nbsp;</option><?php } ?>
					</select>
					<label for="finicio_mes">Mes:</label> <select name="finicio_mes" id="finicio_mes" style="width: 80px;"><?php for ( $d = 1; $d <= 12; $d++ ) {  ?>
						<option value="<?php echo ($d < 10) ? "0" . $d : $d; ?>">&nbsp;&nbsp;<?php echo ($d < 10) ? "0" . $d : $d; ?>&nbsp;&nbsp;</option><?php } ?>
					</select>
					<label for="finicio_anio">A&ntilde;o:</label><select name="finicio_anio" id="finicio_anio" style="width: 80px;"><?php for ( $d = 2007; $d < date("Y") + 5; $d++ ) {  ?>
						<option value="<?php echo ($d < 10) ? "0" . $d : $d; ?>">&nbsp;&nbsp;<?php echo $d; ?>&nbsp;&nbsp;</option><?php } ?>
					</select></td>
				</tr>
				<tr class="form-field">
					<th scope="row"><label>Fecha Sorteo</label></th>
					<td><label for="ffin_dia">D&iacute;a:</label> <select name="ffin_dia" id="ffin_dia" style="width: 80px;"><?php for ( $d = 1; $d <= 31; $d++ ) {  ?>
						<option value="<?php echo ($d < 10) ? "0" . $d : $d; ?>">&nbsp;&nbsp;<?php echo ($d < 10) ? "0" . $d : $d; ?>&nbsp;&nbsp;</option><?php } ?>
					</select>
					<label for="ffin_mes">Mes:</label> <select name="ffin_mes" id="ffin_mes" style="width: 80px;"><?php for ( $d = 1; $d <= 12; $d++ ) {  ?>
						<option value="<?php echo ($d < 10) ? "0" . $d : $d; ?>">&nbsp;&nbsp;<?php echo ($d < 10) ? "0" . $d : $d; ?>&nbsp;&nbsp;</option><?php } ?>
					</select>
					<label for="ffin_anio">A&ntilde;o:</label><select name="ffin_anio" id="ffin_anio" style="width: 80px;"><?php for ( $d = 2007; $d < date("Y") + 5; $d++ ) {  ?>
						<option value="<?php echo ($d < 10) ? "0" . $d : $d; ?>">&nbsp;&nbsp;<?php echo $d; ?>&nbsp;&nbsp;</option><?php } ?>
					</select></td>
				</tr>
			</tbody>
		</table>
		<p class="submit"><input name="gosorteo" id="gosorteo" class="button-primary" value="Crear sorteo" type="submit" /></p>
	</form>
</div>
<?php
}
function sorteo_participantes() {
	global $wpdb;
	echo "<h2>Listado de sorteos</h2>"; ?>	<table class="widefat post fixed" cellspacing="0">
		<thead>
			<tr>
				<th scope="col" id="title" class="manage-column column-title" style="">T&iacute;tulo</th>
				<th scope="col" id="date" class="manage-column column-date" style="">Estado</th>
				<th scope="col" id="date" class="manage-column column-date" style="">Participantes</th>
				<th scope="col" id="date" class="manage-column column-date" style="">Lista</th>

			</tr>
		</thead>
		<tfoot>
			<tr>
				<th scope="col" class="manage-column column-title" style="">T&iacute;tulo</th>
				<th scope="col" id="date" class="manage-column column-date" style="">Estado</th>
				<th scope="col" class="manage-column column-date" style="">Participantes</th>
				<th scope="col" class="manage-column column-date" style="">Lista</th>
			</tr>
		</tfoot>
		<tbody><?php 
$sql = "SELECT s.idsorteo, s.titulo, s.estado, count(1) as 'total' FROM db63088_sorteos.sorteo AS s INNER JOIN db63088_sorteos.participantes AS p ON s.idsorteo = p.idsorteo GROUP BY s.idsorteo";
		$resultados = $wpdb->get_results($sql);
		foreach( $resultados as $entrada ){
	?><tr id="post-4" class="<?php echo ( $i % 2 == 0 ) ? "alternate " : ""; ?>author-self status-publish iedit" valign="top">
		<td class="post-title column-title"><strong><?php echo $entrada->titulo; ?></strong></td>
		<td class="post-title column-date"><?php echo $entrada->estado; ?></td>
		<td class="post-title column-date"><?php echo $entrada->total; ?></td>
		<td class="post-title column-date"><a href="http://www.conciertosperu.com.pe/wp-content/plugins/fenix_sorteos/genera.php?s=<?php echo $entrada->idsorteo; ?>">Descargar</a></td>
</tr><?php } ?>
		</tbody>
	</table>
<?php
}
function sorteo_ganador(){
	global $wpdb;
?><div class="wrap">
	<h2>Sorteo de entradas</h2><?php 
	if ( isset($_POST["sorteo"]) ){
		$codigo = $_POST["sorteo"];
		$sql = "SELECT estado, cantidad FROM db63088_sorteos.sorteo WHERE idsorteo = " . $codigo;
		$consulta = $wpdb->get_results($sql);
		$haySorteo = false;
		foreach($consulta as $sorteo){
			$haySorteo = false;
			if ( $sorteo->estado == "Activo" ){
				$haySorteo = true;
				// Buscamos a todos los participantes
				$sql = "SELECT idparticipante, dni FROM db63088_sorteos.participantes WHERE idsorteo = " . $codigo . " AND estado = 'Aprobado';";
				$participan = $wpdb->get_results($sql);
				$concursantes = array();
				$i = 0;
				foreach( $participan as $participantes)
				{
					$concursantes[$i] = $participantes->dni;
					$i++;
				}
// Se eligen 10
				$elegir = array_rand($concursantes,$sorteo->cantidad);
				$ganadores = array($concursantes[$elegir[0]],$concursantes[$elegir[1]],$concursantes[$elegir[2]],$concursantes[$elegir[3]],$concursantes[$elegir[4]],$concursantes[$elegir[5]],$concursantes[$elegir[6]],$concursantes[$elegir[7]],$concursantes[$elegir[8]],$concursantes[$elegir[9]],$concursantes[$elegir[10]],$concursantes[$elegir[11]],$concursantes[$elegir[12]],$concursantes[$elegir[13]],$concursantes[$elegir[14]]);

				$sql = "UPDATE db63088_sorteos.sorteo SET estado = 'Finalizado' WHERE idsorteo = " . $codigo;
				$wpdb->query($sql);
				for ( $i = 0; $i < $sorteo->cantidad; $i++ )
				{
					$sql = "UPDATE db63088_sorteos.participantes SET estado = 'Ganador' WHERE dni = '" . $ganadores[$i] . "' AND idsorteo = " . $codigo;
					$wpdb->query($sql);
					$sql = "SELECT nombre, apellido, dni, fecha_reg, correo FROM db63088_sorteos.participantes WHERE dni = '" . $ganadores[$i] . "' AND idsorteo = '" . $codigo . "'";
					$datos = $wpdb->get_results($sql);
					foreach( $datos as $persona)
					{
						$mensaje = "<hr />Ganador: " . $persona->nombre . " " . $persona->apellido . "<br />DNI: " . $persona->dni . "<br />Correo:" . $persona->correo . "<br />Inscrito:" .  $persona->fecha_reg . "<hr />";
					}
					/* Para enviar correo HTML, puede definir la cabecera Content-type. */
					$cabeceras  = "MIME-Version: 1.0\r\n";
					$cabeceras .= "Content-type: text/html; charset=utf-8\r\n";
					/* cabeceras adicionales */
					$cabeceras .= "To: Conciertos Peru <contacto@conciertosperu.com.pe>\r\n";
					$cabeceras .= "From: Concursos Conciertos Peru <concursos@conciertosperu.pe> \r\n";
					$cabeceras .= "Reply-To: concursos@conciertosperu.pe\r\n";
					$asunto = "Resultados del sorteo #" . $codigo;
					echo $mensaje;
					/* y ahora, enviarlo */
					mail("contacto@conciertosperu.com.pe", $asunto, $mensaje, $cabeceras);
				}
			} else {
				echo "<h2>El sorteo ya fue cerrado</h2>";
			}
	}
	if ( !$haySorteo ){
		echo "<h2>El sorteo no ha sido configurado. Por favor comunicarse con el administrador</h2>";
	}
			} else { ?>
			<form method="POST" name="sorteo" action="<?php echo htmlspecialchars($_SERVER['REQUEST_URI']); ?>&axn=ok" id="formulario_sorteo">
				<h3>Por favor complete los datos para realizar el sorteo...</h3>
				<label for="sorteo">Sorteo</label>
				<select name="sorteo" id="sorteo" class="text"><?php 
$sql = "SELECT idsorteo, titulo FROM db63088_sorteos.sorteo WHERE estado = 'Activo'";
$consulta = $wpdb->get_results($sql);
foreach( $consulta as $combo)
{
?>
					<option value="<?php echo $combo->idsorteo; ?>"><?php echo utf8_encode($combo->titulo); ?></option>
<?php } ?>
				</select>
				<input type="submit" name="ok" value="Empezar" />
			</form>
<?php	}
}
?>
